/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.actions.login;

import com.mapping.Empleado;
import com.mapping.Login;
import com.mapping.TipoLogin;
import com.opensymphony.xwork2.ActionSupport;
import java.util.List;
import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.EntityTransaction;
import javax.persistence.Persistence;
import javax.persistence.TypedQuery;
import org.apache.struts2.convention.annotation.Action;
import org.apache.struts2.convention.annotation.Namespace;
import org.apache.struts2.convention.annotation.Result;

/**
 *
 * @author Ricardo
 */
@Namespace(value = "/")
@Action(value = "gestionModificarLoginPre", results = {
    @Result(name = "success", location = "/Login/gestionModificarLogin.jsp")})
public class ModificacionLoginPre extends ActionSupport {

    private Empleado empleado;
    private TipoLogin tipa;
    private TipoLogin[] tipos;
    private Login login;
    private int idLogin;

    @Override
    public String execute() {
        EntityManagerFactory emf = Persistence.createEntityManagerFactory("inventarios");
        EntityManager em = emf.createEntityManager();
        EntityTransaction tx = em.getTransaction();
        tx.begin();
        login = (Login) em.getReference(Login.class, idLogin);
        empleado = login.getIdempleado();
        tipa = login.getIdTipo();
        System.out.println(tipa.getTipo());
        TypedQuery e = em.createQuery("SELECT t FROM TipoLogin t", TipoLogin.class);
        List<TipoLogin> resultList = e.getResultList();
        tipos = new TipoLogin[resultList.size()];
        for (int i = 0; i < resultList.size(); i++) {
            tipos[i] = resultList.get(i);
        }
        em.flush();
        tx.commit();
        em.close();
        return SUCCESS;
    }

    public Empleado getEmpleado() {
        return empleado;
    }

    public Login getLogin() {
        return login;
    }

    public TipoLogin getTipo() {
        return tipa;
    }

    public TipoLogin[] getTipos() {
        return tipos;
    }
    
    public void setIdLogin(int idLogin) {
        this.idLogin = idLogin;
    }
}
